local fuhun = fk.CreateSkill{
    name = "wk_heg__fuhun",
    tags = { Skill.Compulsory },
}

Fk:loadTranslationTable{
  ["wk_heg__fuhun"] = "父魂",
  [":wk_heg__fuhun"] = "锁定技，你使用黑色/红色【杀】无距离限制/无次数限制；当你使用【杀】指定目标后，你令此牌不能被所有体力值不小于你的角色响应。",

  ["$wk_heg__fuhun1"] = "光复汉室，重任在肩！",
  ["$wk_heg__fuhun2"] = "将门虎子，承我父志！",
}

fuhun:addEffect(fk.TargetSpecified,{
    anim_type = "offensive",
    can_trigger = function(self, event, target, player, data)
      return player:hasSkill(fuhun.name) and target == player and data.card.trueName == "slash" and data.firstTarget
    end,
    on_use = function(self, event, target, player, data)
      data.use.disresponsiveList = data.use.disresponsiveList or {}
      for _, p in ipairs(player.room.alive_players) do
        if p ~= player and p.hp >= player.hp then
          table.insertIfNeed(data.use.disresponsiveList, p)
        end
      end
    end,
})

fuhun:addEffect("targetmod",{
  anim_type = "offensive",
  bypass_times = function(self, player, skill, scope, card, to)
    if not (player:hasSkill(self.name) and card and skill.trueName == "slash_skill") then return false end
    if card.color == Card.Red then return true end
    --下面这一大堆都是为了能让转化牌能用
    if card.color == Card.NoColor and card.number == 0 and #Card:getIdList(card) == 0 then
      local h = Fk:currentRoom().current_request_handler
      if h then
        local skillname = h.skill_name
        if not skillname then
          --黑名单，可以填写一定不满足的技能名使其技能按钮不亮/不能选印此牌名（例如有花色之于丈八，有颜色之于卫境），当然不填也行
          local black_lists = {}
          return not table.contains(black_lists, card.skillName)
        else
          local vskill = Fk.skills[skillname]
          if vskill:isInstanceOf(ViewAsSkill) then
            local vcard = vskill:viewAs(player, h.pendings)
            return not vcard
          end
        end
      end
    end
    return false
  end,
  bypass_distances = function (self, player, skill, card, to)
    return player:hasSkill(self.name) and card and card.color == Card.Black and skill.trueName == "slash_skill"
  end
})

return fuhun